Modelling method and system

ABSTRACT

A method for geometric modelling method performed by a data processing system on a geometric model including a kernel and associated applications, the method includes receiving data for an object to be processed by the kernel, generating a standalone object for a user interface application of the geometric model, and storing the standalone object. A data processing system is configured for modelling a product according to the method.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a divisional of and claims priority to pending U.S.application Ser. No. 15/757,013, filed Mar. 2, 2018, which applicationis the US National Stage of International Application No.PCT/CN2015/089075 filed Sep. 7, 2015, claims the benefit thereof. All ofthe applications are incorporated by reference herein in their entirety.

TECHNICAL FIELD

This present disclosure relates to the general field of computer aidedtechnologies (“CAX”) including computer aided design, drafting (“CAD”),engineering (“CAE”) manufacturing (“CAM”) and visualisation systems(individually and collectively “CAD systems”), product lifecyclemanagement (“PLM”) systems, and similar systems, that manage data forproducts and other items (collectively, “Product Data Management”systems or PDM systems).

BACKGROUND OF THE DISCLOSURE

PDM systems manage PLM and other data. Improved methods and systems aredesirable.

SUMMARY OF THE DISCLOSURE

Various disclosed embodiments include methods for geometric modellingperformed by a data processing system on a geometric model comprising akernel and associated applications, as well as a method and a dataprocessing system for modelling a product.

In accordance with a first aspect a geometric modelling method performedby a data processing system on a geometric model comprising a kernel andassociated applications comprises receiving data for an object to beprocessed by the kernel; generating a standalone object for a userinterface application of the geometric model and storing the standaloneobject.

The method may further comprise detecting changes to the object to beprocessed by the kernel; propagating those changes to the storedstandalone object to update the standalone object; and storing theupdated standalone object. The object to be processed by the kernel maycomprise one of a mesh or a polyline.

The method may further comprise receiving an input in a function of thedata processing system via the user interface; and, receivinginstructions choosing an output format for the function; wherein theoutput format comprises one of a facetted output or a classic geometryboundary representation output; processing the input in the function;applying the chosen output format to the processed input; and,outputting the processed input in the chosen output format.

The method may further comprise importing legacy mesh file data into thedata processing system; creating a facetted mesh file from the importeddata and storing the facetted mesh file for further processing.

In accordance with a second aspect, a method of modelling a productcomprises deriving mesh data relating to one or more regions of theproduct and designating the one or more regions as mesh regions, whereinthe mesh data comprises a connected collection of facets; deriving aclassic geometric representation of one or more regions of the productand designating the one or more regions as classic geometry regions,wherein the classic geometry representation comprises curved surfaces;wherein the mesh data and classic geometry data are distinct from oneanother; in the data processing system, receiving instructions of aselection of at least one mesh region of the product; in the dataprocessing system, receiving instructions of a selection of at least oneclassic geometry region of the product; establishing a relationshipbetween the mesh region and the classic geometry region; developingstructural body parts or tooling for manufacture based on theestablished relationship; supplying updated data for one of the meshregions or classic geometry regions; propagating changes in the data,regardless of data format, based on the derived relationship; and,providing updated structural body parts or tooling for the modelledproduct.

Different regions of a product may be modelled in different dataprocessing formats and a relationship of the different regions of theproduct is established, so that updates to one data object may bepropagated to another region, regardless of the data format.

The method may further comprise deriving a relationship between an innersurface of the mesh region and an outer surface of the classic geometryregion. Mesh data representing an outer surface or appearance can bepropagated throughout the structural parts and associated tooling,represented by classic geometry, without any need for format conversion,or delaying the design process until the external appearance has beenfixed. The changes in the data for one of the mesh regions or theclassic geometry regions may be propagated to another region, regardlessof the data format.

The mesh data may be derived from a physical sample of the part orparts. The mesh data may be derived by scanning the physical sample. Themethod may further comprise storing the mesh data in a store as acollection of facets.

The classic geometry representation may be derived by simulation in thedata processing system. The method may further comprise storing therepresentation of the modelled product. The method may further comprisegenerating manufacturing instructions for the body parts or tooling. Themanufacturing instructions may comprise instructions for additivemanufacturing.

In accordance with a third aspect, a data processing system having atleast a processor and accessible memory, the data processing systembeing configured to model a product, may carry out the steps of derivingmesh data relating to one or more regions of the product and designatingthe one or more regions as mesh regions, wherein the mesh data comprisesa connected collection of facets; deriving a classic geometricrepresentation of one or more regions of the product and designating theone or more regions as classic geometry regions wherein the classicgeometry representation comprises curved surfaces; wherein the meshregions and classic geometry regions are distinct from one another; inthe data processing system, receiving instructions of a selection of atleast one mesh region of the product; in the data processing system,receiving instructions of a selection of at least one classic geometryregion of the product; establishing a relationship between the meshregion and the classic geometry region; developing structural body partsor tooling for manufacture based on the established relationship;supplying updated data for the one of the mesh regions, or classicgeometry regions; propagating changes to the data, regardless of dataformat, based on the derived relationship; and, providing updatedstructural body parts or tooling for the modelled product.

The system wherein the established relationship is between an innersurface of the mesh region and an outer surface of the classic geometryregion. The system may further comprise a display configured to outputthe representation of the modelled region. The system may furthercomprise a store to store the representation of the modelled region. Thesystem may further comprise a scanner to scan a physical sample of thepart or parts and thereby derive the mesh data.

In accordance with a fourth aspect a non-transitory computer-readablemedium encoded with executable instructions that, when executed, causeone or more data processing systems to perform a method of modelling aproduct comprising deriving mesh data relating to one or more regions ofthe product and designating the one or more regions as mesh regions,wherein the mesh data comprises a connected collection of facets;deriving a geometric representation of one or more regions of theproduct and designating the one or more regions as classic geometryregions, wherein the classic geometric representation comprises curvedsurfaces; wherein the mesh regions and classic geometry regions aredistinct from one another; in the data processing system, receivinginstructions of a selection of at least one mesh region of the product;in the data processing system, receiving instructions of a selection ofat least one classic geometry region of the product; establishing arelationship between the mesh region and the classic geometry region;developing structural body parts or tooling for manufacture based on theestablished relationship; supplying updated data for one of the meshregions, or classic geometry regions; propagating changes in the data,regardless of data format, based on the derived relationship; and,providing updated structural body parts or tooling for the modelledproduct.

The foregoing has outlined rather broadly the features and technicaladvantages of the present disclosure so that those skilled in the artmay better understand the detailed description that follows. Additionalfeatures and advantages of the disclosure will be described hereinafterthat form the subject of the claims. Those skilled in the art willappreciate that they may readily use the conception and the specificembodiment disclosed as a basis for modifying or designing otherstructures for carrying out the same purposes of the present disclosure.Those skilled in the art will also realize that such equivalentconstructions do not depart from the scope of the disclosure in itsbroadest form.

Before undertaking the DETAILED DESCRIPTION below, it may beadvantageous to set forth definitions of certain words or phrases usedthroughout this patent document: the terms “include” and “comprise,” aswell as derivatives thereof, mean inclusion without limitation; the term“or” is inclusive, meaning and/or; and the term “controller” means anydevice, system or part thereof that controls at least one operation,whether such a device is implemented in hardware, firmware, software orsome combination of at least two of the same. It should be noted thatthe functionality associated with any particular controller may becentralized or distributed, whether locally or remotely. Definitions forcertain words and phrases are provided throughout this patent document,and those of ordinary skill in the art will understand that suchdefinitions apply in many, if not most, instances to prior as well asfuture uses of such defined words and phrases. While some terms mayinclude a wide variety of embodiments, the appended claims may expresslylimit these terms to specific embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

An example of method and data processing system according to the presentdisclosure will now be described with reference to the accompanyingdrawings in which:

FIG. 1 is a block diagram of a data processing system in which anembodiment can be implemented;

FIGS. 2a and 2b illustrate structural forms to which a method of thisdisclosure may be applied;

FIG. 3 illustrates one example of cooperating parts which may bedesigned according to the method of this disclosure;

FIG. 4 shows one of the parts of FIG. 3 separately;

FIG. 5 illustrates a part of a product which may be designed accordingto the method of this disclosure;

FIG. 6 illustrates an example of parts designed in different formats;

FIGS. 7a to 7e illustrate the steps involved in a conventional partmodelling process;

FIG. 8 illustrates a scanned part in accordance with the disclosedembodiments;

FIG. 9 illustrates the part of FIG. 8 in more detail in accordance withthe disclosed embodiments;

FIG. 10 illustrates a finished part in accordance with the disclosedembodiments;

FIGS. 11a to 11d illustrate the process steps in an exemplary method forproducing a part in accordance with the disclosed embodiments;

FIG. 12 is a flow diagram of a conventional process;

FIG. 13 is a flow diagram of a process in accordance with disclosedembodiments.

DETAILED DESCRIPTION

The embodiments of FIGS. 1 to 13 used to describe the principles of thepresent disclosure in this document are by way of illustration only andshould not be construed in any way to limit the scope of the disclosure.Those skilled in the art will understand that the principles of thepresent disclosure may be implemented in any suitably arranged device,apparatus, system, or method.

FIG. 1 illustrates an example of a data processing system in which anembodiment of the present disclosure may be implemented, for example aCAD system configured to perform processes as described herein. The dataprocessing system 21 comprises a processor 22 connected to a localsystem bus 23. The local system bus connects the processor to a mainmemory 24 and graphics display adaptor 25, which may be connected to adisplay 26. The data processing system may communicate with othersystems via a wireless user interface adapter connected to the localsystem bus 23, or via a wired network, e.g. to a local area network.Additional memory 28 may also be connected via the local system bus. Asuitable adaptor, such as wireless user interface adapter 27, for otherperipheral devices, such as a keyboard 29 and mouse 20, or otherpointing device, allows the user to provide input to the data processingsystem. Other peripheral devices may include one or more I/O controllerssuch as USB controllers, Bluetooth controllers, and/or dedicated audiocontrollers (connected to speakers and/or microphones). It should alsobe appreciated that various peripherals may be connected to the USBcontroller (via various USB ports) including input devices (e.g.,keyboard, mouse, touch screen, trackball, camera, microphone, scanners),output devices (e.g., printers, speakers), or any other type of devicethat is operative to provide inputs or receive outputs from the dataprocessing system. Further it should be appreciated that many devicesreferred to as input devices or output devices may both provide inputsand receive outputs of communications with the data processing system.Further it should be appreciated that other peripheral hardwareconnected to the I/O controllers may include any type of device,machine, or component that is configured to communicate with a dataprocessing system.

An operating system included in the data processing system enables anoutput from the system to be displayed to the user on display 26 and theuser to interact with the system. Examples of operating systems that maybe used in a data processing system may include Microsoft Windows™,Linux™, UNIX™, iOS™, and Android™ operating systems.

In addition, it should be appreciated that data processing system 21 maybe implemented as in a networked environment, distributed systemenvironment, virtual machines in a virtual machine architecture, and/orcloud environment. For example, the processor 22 and associatedcomponents may correspond to a virtual machine executing in a virtualmachine environment of one or more servers. Examples of virtual machinearchitectures include VMware ESCi, Microsoft Hyper-V, Xen, and KVM.

Those of ordinary skill in the art will appreciate that the hardwaredepicted for the data processing system 21 may vary for particularimplementations. For example the data processing system 21 in thisexample may correspond to a computer, workstation, and/or a server.However, it should be appreciated that alternative embodiments of a dataprocessing system may be configured with corresponding or alternativecomponents such as in the form of a mobile phone, tablet, controllerboard or any other system that is operative to process data and carryout functionality and features described herein associated with theoperation of a data processing system, computer, processor, and/or acontroller discussed herein. The depicted example is provided for thepurpose of explanation only and is not meant to imply architecturallimitations with respect to the present disclosure.

The data processing system 21 may be connected to the network (not apart of data processing system 21), which can be any public or privatedata processing system network or combination of networks, as known tothose of skill in the art, including the Internet. Data processingsystem 21 can communicate over the network with one or more other dataprocessing systems such as a server (also not part of the dataprocessing system 21). However, an alternative data processing systemmay correspond to a plurality of data processing systems implemented aspart of a distributed system in which processors associated with severaldata processing systems may be in communication by way of one or morenetwork connections and may collectively perform tasks described asbeing performed by a single data processing system. Thus, it is to beunderstood that when referring to a data processing system, such asystem may be implemented across several data processing systemsorganized in a distributed system in communication with each other via anetwork.

Traditional CAD models are composed of faces, which are sewn togetheralong shared edges. A face is just a region of a larger surface, onwhich it lies. Many types of surfaces are used. The most common ones arequadric surfaces, for example cylinders and cones, and the most complexare free-form non-uniform rational basis spline (NURBS) surfaces. Mostof these surfaces are curved in space, so are sometimes referred to ascurved surface or curvy models, for example as shown in FIG. 2a .Another common type of model is one composed entirely of small planarfaces that simulate curved ones. The model looks like a gem-stone, withmany small planar faces, referred to as facets 1, combining to give acurved appearance, for example as shown in FIG. 2b . Models constructedthis way are called “faceted” or “polygonal” models.

Faceted models are becoming increasingly common. They arise from manydifferent sources, often as a result of some sort of scanning process.As the quality of scanners is improving rapidly, and prices aredropping, so scanning is becoming a much more common practice, forexample a faceted model may be obtained from a scan of a designoriginally made as a physical model in wood, or clay, or wax. This iscommon because “soft” features of a design, such as the feel of theproduct to the user, for example the feel of a handle of a tool, or thecasing of a mobile phone, or computer mouse, cannot be perceived by theuser from a simulation. Additionally, toys or jewellery may be designedby a craftsman, then need to be mass produced by machine. Another sourceof scans is when scans are made to reverse engineer products, forexample to create replacement components to maintain equipment which hasoutlived the original company that made the component, or where theoriginal engineering drawings have been lost, or where the design ismodified in its physical form during testing, for example stamping dies.In future, scanned data may also be used for generation of replacementparts for surgery, such as teeth or bones, which must fit in place andit is desirable to be able to process this data along with classicgeometric models for making the associated jigs 3, for example forfitting knee replacements 2 as illustrated in FIGS. 3 and 4. Anotherfuture application is in custom fit designs, for example using data frombody scanners, for products such as shoe orthotics, or hearing aids,diving masks, or prosthetic limbs.

Conventionally, scanned data in faceted models had to be manipulated byfacet specific software, then exported in a non-history based, nonparametric format. Even where the scanned data had been imported into aCAD system, such as NX software available from Siemens Product LifecycleManagement Software Inc (Plano, Tex.), as a faceted model, the facetedmodel was not an integral part of the workflows for part modelling. Thisis because, if a faceted model was to be used, then a “surfacing” stepwas required in which point clouds or faceted objects are converted intotraditional CAD models with curved surfaces. Rebuilding the facetedmodel using curved surfaces, for example using a boundary representationmodel, or analytic geometry, is time consuming and labour-intensive. Atemporary analytic geometry may have been created, or else it would havebeen necessary to wait for the surface models to become available beforethe surface model could be used within applications such as partmodelling. Furthermore, this surfacing step is on the critical path ofmany typical industry workflows. This means that downstream activities,such as the design of mating parts and tooling, or studies of interiorpackaging, cannot begin until the “surfacing” step is complete.

The problem is especially severe in situations such as automotivestyling 4, as illustrated in FIG. 5, where new versions of the facetedmodel are released periodically, forcing the surfacing step to bere-done, or for manufacturing medical implants, where it is simply notpossible in conventional part modelling to make a CAD model of existingbones. However, the bones can be scanning to create a facetedrepresentation. As mentioned above the fitting, or supporting operationson the parts made from the scanned bones produce a better result if theycan be modelled in the CAX system using an analytic model, or boundaryrepresentation model, rather than a facet based model. Another examplewhere a hybrid boundary representation and facet based model isbeneficial is in production of moulded products, such as shown in FIG.6, where parts of the mould 5 are dependent on the faceted detail of theproduct 6 and other parts 7 must use an analytic model to ensure exactdimensions to interact with the equipment in which the mould is used.For the purpose of this description, the term facet is a triangularregion of a plane and a mesh is a connected collection of facets; aclassic geometric representation is a geometric representation based oncurved surfaces.

The full conventional process is illustrated graphically in FIGS. 7a to7e . The carved or moulded external shape 10 is provided as a physicalembodiment made from a medium such as wood or clay, as shown in FIG. 7a. The physical product 10 is scanned, as shown in FIG. 7b and thescanned data is imported into a CAD system, where it is converted, i.e.surfaces are constructed which match the scan data, as shown in theimage of FIG. 7c . An offset is applied to generate inner walls 12 asshown in FIG. 7d and structural details, such as ribs 13 and bosses 14,are added as shown in FIG. 7e . Thus, the exterior surface 15 of theshell 10 is naturally represented by facets, but for all later stages ofthe processing, those facets have been converted to surfaces, or classicgeometry, for further processing. Using a conventional CAD model, theworkflow described above requires conversion of the outer shape to acurved-surface model before proceeding, because current modellingoperations, such as offsetting and Booleans, do not work on a mixture offacets and classic surfaces. Converting faceted models to curvy ones,i.e. converting to surfaces, slows down the development of products andtooling, which can be frustrating for users and costly to the business.

Improvements to the user interface software have been desired whichwould speed up the process of converting the scan data to curved surfacemodel. Some systems have special “rapid surfacing” functions that aim tomake it easy to convert faceted models to curvy ones. However, even withthe best software, the conversion still takes time and effort. Highlyconvoluted shapes may take days to convert. Rather than follow thispath, the applicant has determined that the modelling can be improved byeliminating the conversion to a curved surface model substantially, oraltogether. As explained in more detail below, this disclosure providesa method that allows faceted models to be used directly, so the“surfacing” step is removed from the critical path, and significant timesavings are achieved, among other benefits. This has the advantage,among other advantages, that the designer is able to model changes toall of the parts of a product, regardless of whether the design data isheld in facet form, or as a classic geometric representation. The systemand method of this disclosure implements a full-function CAX system inwhich hybrid models, i.e. mixtures of polygonal meshes and curvedsurfaces, can participate fully in history or feature-based modellingoperations. Conventionally, CAD systems have not allowed the use ofhybrid bodies, or even the use of purely faceted bodies, infeature-based modelling operations. Users were unable to use all theavailable features of their modelling systems for the facet data, asfacets are not able to be used in most conventional modellingoperations. Although some specialised systems exist that allow modellingwith faceted bodies, these systems do not support modern constructionand editing techniques using features, history, and associativity.

The modified method can be understood by the fact that an offsetting, orshelling, or thickening operation and detailing is applied directly tothe faceted model obtained from scanning. The offset is applied to thethin-walled shell 10 which has been generated from the scanned physicalobject, in order to make inner walls for the scanned outer wall. Thisoffset is applied to the faceted scanned shape 15, without anyconversion of the scanned shape to a surface representation. Thefaceting on the inner surface 16, seen in FIGS. 8 and 9, may be fairlycoarse, since its shape is not particularly critical, as long as theinner surface is a roughly constant distance from the outer surface.Further design steps may include part modelling, such as creating someribs 13 and bosses 17 on the inside of the shell, to strengthen thestructure and provide mounting points for various components, asillustrated by FIG. 10. For this, surface representations are used,rather than a mesh. The interior geometry is created using rib and bossfeatures, which require that the geometry kernel supports extrusions,drafts and Booleans. The end result of the process described above is aB-rep with a mixture of facet and classic geometry. Faces 15, 16 aremeshes, collections of facets, but faces 17, 14 are analytic cones andcylinders respectively.

A summary of the steps in a method of the present disclosure isillustrated in FIGS. 11a to 11d . A physical model 10 is created, asshown in FIG. 11a , typically clay or wood, but other materials may beused. A scan 15 of the external shape of the physical model is generatedas illustrated in FIG. 11b . The scanned shape is facet data,represented as a mesh, or collection of points forming polygons, in thisexample, triangles. An inner surface 16 is formed, also represented as amesh, as shown in FIG. 11c . Thereafter, parts required for the interiorare modelled using a classic geometric representation, rather than afacet based one, shown in FIG. 11d . The examples shown here beinganalytic cones 17, or cylinders 14. The user interface is able to carryout modelling operations on the different surface types, whether mesh,or cylinder or cone. The CAD functions may be applied directly to any ofthe objects, whether analytic, or faceted. Productivity improvements canbe achieved by starting downstream work, such as design of mating partsor packaging using faceted versions of the outer surfaces, rather thanwaiting for the final converted classic geometric representation of thesurface to be prepared. This is possible because the offsetting, theaddition of the simple interior shapes, and other subsequent geometricoperations are all associative, i.e. history-based, so, if the outermesh is replaced by a new one, the history can simply be replayed to geta new design, without needing any rework to accommodate the change.

The user interface described in this disclosure comprises history-basedmodelling functions that allow mixtures of faceted and curved-surfacemodels as their inputs. The system and method described herein enableassociative conversion from a classic geometric model, or analytic body,to a facet based model, i.e. from curvy to facet. Previously, conversionfrom an analytic body to a faceted one was not associative. The facetedbody did not remember that it had an analytic body as its parent, sochanges could not be propagated from parent to child.

The underlying requirements of a user and a programmer of the softwareare different. There are two separate elements of any software which isused in computer aided design and engineering. The part of the CAXsystem which is visible to designers and engineers provides a conceptualview of the model, accessible to the designers via a user interface,whereas each system has a geometry kernel that is accessed through aprogramming interface to allow changes to its operation to be set up bythe CAX programmers.

Within the CAX system user interface, it is important for users to beable to distinguish between different types of objects that might beconsidered as one by the geometry kernel. Thus, mesh faces, polylineedges, faceted sheet bodies, and faceted solid bodies have been definedto allow the user to determine whether a change is being made to dataoriginally created in facet form, rather than data originally generatedas analytic or classic geometric representations, for example in aboundary representation model, which the user interface indicates asfaces, edges, sheet bodies and solid bodies as before. In this way,unified modelling functions are able to work in the same way ontraditional curvy bodies, faceted bodies, and mixed ones.

The newly defined objects in the user interface allow faceted bodies tobe used in associative copying operations. The associative nature of theoperations means that a change to one part of the design can bepropagated throughout the design, whether the objects are analytic ones,or facet based ones, or a mixture. The main advantage being that delayscaused in the past by having to wait until the external surface designhad been fixed before completing fastening and tooling steps are removedand a change to the external surface can simply be entered by the userand the other parts updated to cope with it.

Many CAD systems are built on top of a geometry “kernel”. The kernelprovides tools for representing geometric models and doing computationson them. However, the kernel is just a programming toolkit used by CADsystem developers; it has no user interface, and usually no conceptslike features, history, or associativity.

Interactions between degree 1 b-spline and PLINE can be understood fromthe fact that the user interface stores standalone wire-frame curvesseparately, outside a kernel of the system. When a new curve type isintroduced in the kernel, a corresponding curve type has to beintroduced in the user interface. The new curve is not merely a“wrapper” for a kernel curve, but it is an independently implementedobject in the user interface. In this particular case, for a new curvetype “PLINE” or “polyline” introduced in the kernel, a correspondingobject is implemented in the user interface as a b-spline curve ofdegree 1.

When a b-spline curve of degree 1 is used as an input to a userinterface, for example an NX function, such as Extrude, the user now achoice about what type of object to produce as output. The output can beeither a faceted object or a traditional, classic geometric object.Specific functions have also been modified so that the user can choosewhat type of output is wanted. This applies particularly to the Extrudeand Revolve functions in NX, and in several other functions that producebodies from curves.

In the past, import of stereolithography (STL) files has beenproblematic because when the STL files were imported into the userinterface, the faceted body was not able to participate in associativecopying operations, as explained above. Incorporating the present methodallows a full-function CAX system with history-based modellingcapabilities to use faceted models directly. As set forth in PCT patentapplication no. [to be updated] entitled data processing system andmethod, our reference no. 2015P14906 WO, filed on the same day as thispatent document and hereby incorporated by reference to the extentpermitted by law, the CAX system is able to treat meshes as surfaces andPLINE as curves. The CAX system is based on topology with minimalemphasis on individual geometry. The system also modifies itsfunctionality to accept faceted topology.

The history based modeller is able to re-generate the final modeldepending on the user input, modelling the facets with the help ofanalytic geometry and modelling the analytic geometry with the help offacets.

An example of a method of a conventional body in white (BIW) developmentis illustrated in FIG. 12 and compared with the same process using themethod and system of the present disclosure in FIG. 13. Styling of theproduct and BIW and tooling development are separate, but relatedworkflows 30, 31. In the styling workflow 30, a first stage of digitalauthoring 33 involves producing a physical model 34, scanning the model35 and carrying out a surfacing step 36 to build an analytic geometrymodel from the facet scan data. From this an initial BIW and toolingdevelopment stage 37 is begun. Revision of the physical model 39 in adigital editing phase 38 of the styling workflow, requires anotherscanning step 40 and another surfacing step 41. At the end of thedigital editing phase 38, all old surfaces in the BIW and toolingdevelopment must be replaced 42 by the new surfaces. A further digitalediting stage 43 in the styling workflow 30, involving, as before,physical editing 44, another scanning step 45 and another surfacing step46, results in the already once replaced old surfaces in the BIW andtooling development being replaced again 47.

By contrast, the method and system of the present disclosure are set outin FIG. 13. Here, the styling workflow 80 begins in a similar way bycreating a physical model 83 and scanning 84 that model to produce facetscan data in the digital authoring phase 82. However, there is no needto wait for a surface conversion/creation step, but the facet scan datais made available directly to the BIW and tooling development workflow81 for the initial development phase 85, so development of BIW parts andtooling can begin early on in the process, using faceted versions of thesurfaces that will always be visible to the customer in the end product.In parallel, as this development phase 85 begins further digital editing86 is carried out in the styling workflow 80, with physical editing 87and scanning 88. As soon as the scanned data available, it can beprovided to the BIW and tooling development workflow 81 and using thehistory based modelling feature, changes to the scan data may bepropagated through and update the BIW and tooling development 85. Thesurfaces are replaced 89 by the new surfaces, but in their facet form,without a surfacing step. Only necessary changes to the analyticgeometry that has been developed so far need to be made by the modelpropagating these changes. The final digital editing 90 may include asurfacing step 91, in addition to physical modelling 92 and scanning 93,or the scanned facet data may be used directly in generatingmanufacturing instructions for the outer surface of the product, havingagain replaced the old surfaces with new ones 94. Either way, aconsiderable amount of time and processing effort is saved and thesurfacing step, if required at all, is removed from the critical path.

By providing a CAD system in which both facet based data and analyticdata can be handled and revised, the usefulness to the user is improved.The ability to modify the analytic model with faceted details increasesthe utility of the CAD system. For the example of the automotiveindustry, the customer can start building the model with the help of theinitial scan and start adding details. When the analytic replacement isavailable, the designer can replace the faceted model with the analyticmodel and still retain the end product by replaying the history.Selection and modelling of faceted entities (meshes and plines) isenabled in the same way as any other surface and curve type. Theprinciple of associative relationships and propagation of change as setout herein is particularly useful in modelling with a mixture of meshdata and classic geometry data, as well as more generally.

The advantages include significant time savings, as the full range ofmodelling techniques may be applied early on in customer workflows;increased ability to use standard CAX systems in mesh based workflows,such as medical implant, or topology optimization; and the ability towork with real world scanned models without the need to convert thescanned data to a conventional (analytic) model.

Although the examples have been described with respect to scanned facetdata, it is also possible to create faceted objects manually in thesystem. In many cases, a faceted object can be created just by calling aspecific application programming interface (API) function in the kernel.In other cases, the user interface wants an object that is differentfrom the one returned by the kernel. In these cases, the faceted objectmust be constructed “manually”. In some cases, an analytic object may beconstructed and used to generate facets. In other cases, the facetedobject must be constructed from first principles, by creating individualfacets and piecing these together.

For the specific example of NX, certain operations which previouslycould only use analytic data are able to use facet based data too. Theseinclude wave linking, wave replacement, import from STL, extraction,Boolean, facet cleanup, thicken, shell, extend sheet, offsetting,trimming, splitting topologies, extrusion, imprinting, curve imprinting,curve intersection, curve offsetting, transformations, mirroring,patterning, scale, fit analytic surface, snip, fill hole, decimate,subdivide, smooth, global shaping, merge, draft, deviation, curvature,paint facet body, primitive detection, facet cleanup, shell,measurements, assembly component selection, component replacement,assembly promotion, clearance analysis, component pattern, collisiondetection (assembly sequencing and move component), assembly cut.

The present disclosure has a number of improvements over conventionalmethods of dealing with different requirements in product design.

Of course, those of skill in the art will recognize that, unlessspecifically indicated or required by the sequence of operations,certain steps in the processes described above may be omitted, performedconcurrently or sequentially, or performed in a different order.

Those skilled in the art will recognize that, for simplicity andclarity, the full structure and operation of all data processing systemssuitable for use with the present disclosure is not being depicted ordescribed herein. Instead, only so much of a data processing system asis unique to the present disclosure or necessary for an understanding ofthe present disclosure is depicted and described. The remainder of theconstruction and operation of data processing system 21 may conform toany of the various current implementations and practices known in theart.

It is important to note that while the disclosure includes a descriptionin the context of a fully functional system, those skilled in the artwill appreciate that at least portions of the mechanism of the presentdisclosure are capable of being distributed in the form of instructionscontained within a machine-usable, computer-usable, or computer-readablemedium in any of a variety of forms, and that the present disclosureapplies equally regardless of the particular type of instruction orsignal bearing medium or storage medium utilized to actually carry outthe distribution. Examples of machine usable/readable or computerusable/readable mediums include: nonvolatile, hard-coded type mediumssuch as read only memories (ROMs) or erasable, electrically programmableread only memories (EEPROMs), and user-recordable type mediums such asfloppy disks, hard disk drives and compact disk read only memories(CD-ROMs) or digital versatile disks (DVDs).

Although an exemplary embodiment of the present disclosure has beendescribed in detail, those skilled in the art will understand thatvarious changes, substitutions, variations, and improvements disclosedherein may be made without departing from the spirit and scope of thedisclosure in its broadest form.

None of the description in the present application should be read asimplying that any particular element, step, or function is an essentialelement which must be included in the claim scope: the scope of patentedsubject matter is defined only by the allowed claims. Moreover, none ofthese claims are intended to invoke 35 USC § 112(f) unless the exactwords “means for” are followed by a participle.

1.-5. (canceled)
 6. A method of modelling a product, the methodcomprising: deriving mesh data relating to one or more regions of theproduct and designating the one or more regions as mesh regions, whereinthe mesh data comprises a connected collection of facets; deriving aclassic geometric representation of one or more regions of the productand designating the one or more regions as classic geometry regions,wherein the classic geometry representation comprises curved surfaces;wherein the mesh data and classic geometry data are distinct from oneanother; in the data processing system, receiving instructions of aselection of at least one mesh region of the product; in the dataprocessing system, receiving instructions of a selection of at least oneclassic geometry region of the product; establishing a relationshipbetween the mesh region and the classic geometry region; developingstructural body parts or tooling for manufacture based on theestablished relationship; supplying updated data for one of the meshregions or classic geometry regions; propagating changes in the data,regardless of data format, based on the derived relationship; and,providing updated structural body parts or tooling for the modelledproduct.
 7. The method according to claim 6, further comprising:deriving a relationship between an inner surface of the mesh region andan outer surface of the classic geometry region.
 8. The method accordingto claim 6, wherein the mesh data is derived from a physical sample ofthe part or parts.
 9. The method according to claim 6, wherein the meshdata is derived by scanning the physical sample.
 10. The methodaccording to claim 6, further comprising: storing the mesh data in astore as a collection of facets.
 11. The method according to claim 6,wherein the classic geometry representation is derived by simulation inthe data processing system.
 12. The method according to claim 11,further comprising: storing the representation of the modelled product.13. The method according to claim 6, further comprising: generatingmanufacturing instructions for the body parts or tooling.
 14. The methodaccording to claim 13, wherein the manufacturing instructions compriseinstructions for additive manufacturing.
 15. A data processing systemcomprising: at least a processor and accessible memory, the dataprocessing system configured to model a product, by a modelling methodcomprising: deriving mesh data relating to one or more regions of theproduct and designating the one or more regions as mesh regions, whereinthe mesh data comprises a connected collection of facets; deriving aclassic geometric representation of one or more regions of the productand designating the one or more regions as classic geometry regionswherein the classic geometry representation comprises curved surfaces;wherein the mesh regions and classic geometry regions are distinct fromone another; receiving instructions of a selection of at least one meshregion of the product; receiving instructions of a selection of at leastone classic geometry region of the product; establishing a relationshipbetween the mesh region and the classic geometry region; developingstructural body parts or tooling for manufacture based on theestablished relationship; supplying updated data for the one of the meshregions, or classic geometry regions; propagating changes to the data,regardless of data format, based on the derived relationship; and,providing updated structural body parts or tooling for the modelledproduct.
 16. The system according to claim 15, wherein the establishedrelationship is between an inner surface of the mesh region and an outersurface of the classic geometry region.
 17. The system according toclaim 15, further comprising: a display configured to output therepresentation of the modelled region.
 18. The system according to claim15, further comprising: a store to store the representation of themodelled region.
 19. The system according to claim 15, furthercomprising: a scanner to scan a physical sample of the part or parts andthereby derive the mesh data.
 20. A non-transitory computer-readablemedium encoded with executable instructions that, when executed, causeone or more data processing systems to perform a method of modelling aproduct comprising: deriving mesh data relating to one or more regionsof the product and designating the one or more regions as mesh regions,wherein the mesh data comprises a connected collection of facets;deriving a geometric representation of one or more regions of theproduct and designating the one or more regions as classic geometryregions, wherein the classic geometric representation comprises curvedsurfaces; wherein the mesh regions and classic geometry regions aredistinct from one another; in the data processing system, receivinginstructions of a selection of at least one mesh region of the product;in the data processing system, receiving instructions of a selection ofat least one classic geometry region of the product; establishing arelationship between the mesh region and the classic geometry region;developing structural body parts or tooling for manufacture based on theestablished relationship; supplying updated data for one of the meshregions, or classic geometry regions; propagating changes in the data,regardless of data format, based on the derived relationship; and,providing updated structural body parts or tooling for the modelledproduct.